package com.kaizeli.website.service;

import com.kaizeli.website.pojo.dto.base.PageDTO;
import com.kaizeli.website.pojo.entity.CompanyDO;
import com.kaizeli.website.pojo.vo.CompanyVO;
import com.kaizeli.website.query.CompanyQuery;

import java.util.List;

/**
 * 公司服务接口
 */
public interface CompanyService {
    
    /**
     * 分页查询公司列表
     */
    PageDTO<CompanyVO> pageQuery(CompanyQuery query);
    
    /**
     * 根据ID查询公司详情
     */
    CompanyVO getById(Integer id);
    
    /**
     * 根据编码查询公司
     */
    CompanyVO getByCode(String code);
    
    /**
     * 新增公司
     */
    Integer save(CompanyDO companyDO);
    
    /**
     * 更新公司信息
     */
    Boolean update(CompanyDO companyDO);
    
    /**
     * 根据ID删除公司
     */
    Boolean deleteById(Integer id);
    
    /**
     * 根据状态查询公司列表
     */
    List<CompanyVO> listByStatus(String status);
    
    /**
     * 查询所有公司列表
     */
    List<CompanyVO> listAll();
    
    /**
     * 搜索公司
     */
    List<CompanyVO> search(String keyword);
}

